package cate.game.role.res.guild.mysterium;

import cate.common.table.d.GDFunc;
import cate.common.table.guild.guildboss.GuildBossCombatRow;
import cate.common.util.GameResult;
import cate.game.role.Role;
import cate.game.role.res.guild.boss.GuildFuncImpl;
import cate.game.role.res.guild.po.GuildFuncDependent;
import com.fasterxml.jackson.annotation.JsonIgnore;
import easy.java.dev.note.NoteField;


public class GuildMysteriumBoss implements GuildFuncImpl {
//
//    @NoteField(value = "bossId")
//    public int bossId;
//
//    @NoteField(value = "复活时间")
//    public Long reviveTime;
//
//    @NoteField(value = "剩余血量")
//    public Long curHp;
//
//    @NoteField(value = "已通过第几级")
//    public int combatLevelPass;
//
//    @JsonIgnore
//    @NoteField(value = "公会玩家信息依赖")
//    public GuildFuncDependent dependent;
//
//    public GuildMysteriumBoss() {
//    }
//
//
//    /**
//     * 被挑战前准备数据（检查数据有效性和修正）
//     */
//    public synchronized GameResult<Void> prepare(Role role) {
//        GameResult<Void> r = new GameResult<>();
//        if (!isOpen()) {
//            return r.fail();
//        }
//        boolean killed = isKilled();
//        if (killed) {
//            // 防止多人同时挑战最后一关导致出错
//            GuildBossCombatRow passRow = guild.game.table.guildBoss.combat.get(combatLevelPass + 1);
//            if (passRow != null) {
//                combatLevelPass++;
//            }
//            //
//            rank.handleReward();
//
//            lastCombatCheck();
//            //
//            GuildBossCombatRow combatTpl = guild.game.table.guildBoss.combat.get(combatLevelPass + 1);
//            if (combatTpl != null) {
//                curHp = combatTpl.bossHp;
//            } else {
//                role.getGame().notice.message(role, 700376, "已挑战完所有章节");
//                return r.fail("已挑战完所有章节");
//            }
//        }
//        long now = System.currentTimeMillis();
//        if (now >= buffInvalidTime) {
//            buffNum = 0;
//        }
//        return r.success();
//    }
//
//    @JsonIgnore
//    /** 是否被击杀 */
//    public boolean isKilled() {
//        return curHp <= 0;
//    }
//
//    /**
//     * 扣血
//     */
//    public synchronized void hurt(long damage) {
//        curHp -= damage;
//    }
//
//    @JsonIgnore
//    public boolean isLastCombat() {
//        return guild.game.table.guildBoss.combat.get(combatLevelPass + 1) == null;
//    }
//
//
    @Override
    public GuildFuncDependent getFuncDependent() {
        return null;
    }

    @Override
    public int getFuncId() {
        return GDFunc.GuildFunc.MYSTERIUM;
    }
}
